package ltd.newbee.mall.api.mall.vo;
import com.alibaba.fastjson.JSONArray;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

@Data
public class SkuValueVO implements Serializable {
    private List<SkuDto> tree; //规格树 里面存的具体规格
    private JSONArray list;
    private BigDecimal price;
    private Integer quota;//
    private Integer stock_num;
    private Boolean hide_stock = false;
    private String collection_id = "2261"; //无规格商品
    private Boolean none_sku = false; //是否是无规格商品
    @Data
    @Accessors(chain = true)
    class SkuDetails {
        private String id;//: 2259, // skuId
        private Map<String, String> s_list; //
        //        private String s1;//: '1', // 规格类目 k_s 为 s1 的对应规格值 id
//        private String s2;//: '1', // 规格类目 k_s 为 s2 的对应规格值 id
        private BigDecimal price;//: 100, // 价格（单位分）
        private Integer stock_num;//: 110 // 当前 sku 组合对应的库存
    }
    @Data
    @Accessors(chain = true)
    public static class SkuDto {
        private String k;  //: '颜色', // skuKeyName：规格类目名称
        private String k_s;  //: 's1', // skuKeyStr：sku 组合列表（下方 list）中当前类目对应的 key 值，value 值会是从属于当前类目的一个规格值 id
        private List<SkuValueDto> v;//: [
        private Boolean largeImageMode = true; //  是否展示大图模式
    }
    @Data
    @Accessors(chain = true)
    public static class SkuValueDto {
        private String id;    // skuValueId：规格值 id
        private String name;     // skuValueName：规格值名称
        private BigDecimal price;//每个规格对应的价格
        private Integer stock_num;//规格对应库存
        private String imgUrl;     // 规格类目图片，只有第一个规格类目可以定义图片
        private String previewImgUrl;    // 用于预览显示的规格类目图片
    }
}
